package cn.car.domains.vo.sysPermission;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

@Data
@Schema(name = "CreatePermissionReq", description = "创建权限的请求参数")
public class CreatePermissionReq {

    /**
     * 权限名称
     */
    @NotEmpty(message = "权限名称不能为空")
    @Schema(name = "permissionName", description = "权限名称")
    private String permissionName;

    /**
     * 权限code
     * 用于唯一标识权限
     */
    @NotEmpty(message = "权限编码不能为空")
    @Schema(name = "permissionCode", description = "权限编码（唯一标识）")
    private String permissionCode;

    /**
     * 权限类型
     */
    @NotEmpty(message = "权限类型不能为空")
    @Schema(name = "permissionType", description = "权限类型")
    private String permissionType;

    /**
     * 父id
     * 用于表示权限的层级关系
     */
    @Schema(name = "parentId", description = "父权限ID（层级关系）")
    private Long parentId;


    /**
     * 排序
     */
    @Schema(name = "orderNum", description = "显示顺序，数值越小越靠前")
    private Integer orderNum;
}
